gint *minimum,
gint *natural);
static void gtk_tree_view_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition,
+ gboolean may_validate);
static void gtk_tree_view_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
static gboolean gtk_tree_view_draw (GtkWidget *widget,
static void
gtk_tree_view_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition,
+ gboolean may_validate)
{
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
GList *tmp_list;
- /* we validate some rows initially just to make sure we have some size.
- * In practice, with a lot of static lists, this should get a good width.
- */
- do_validate_rows (tree_view, FALSE);
+ if (may_validate)
+ {
+ /* we validate some rows initially just to make sure we have some size.
+ * In practice, with a lot of static lists, this should get a good width.
+ */
+ do_validate_rows (tree_view, FALSE);
+ }
+
gtk_tree_view_size_request_columns (tree_view);
gtk_tree_view_update_size (GTK_TREE_VIEW (widget));
{
GtkRequisition requisition;
- gtk_tree_view_size_request (widget, &requisition);
+ gtk_tree_view_size_request (widget, &requisition, TRUE);
*minimum = *natural = requisition.width;
}
{
GtkRequisition requisition;
- gtk_tree_view_size_request (widget, &requisition);
+ gtk_tree_view_size_request (widget, &requisition, TRUE);
*minimum = *natural = requisition.height;
}
* Currently bypassing this but the real solution is to not update the scroll adjustments
* untill we've recieved an allocation (never update scroll adjustments from size-requests).
*/
- gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition);
+ gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition, FALSE);
tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width);
tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height);